home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group95a.txt / 000015_icon-group-sender _Tue Jan 17 18:25:59 1995.msg < prev    next >
Internet Message Format  |  1995-02-09  |  3KB

  1. Received: by cheltenham.cs.arizona.edu; Tue, 17 Jan 1995 12:39:56 MST
  2. To: icon-group-l@cs.arizona.edu
  3. Date: Tue, 17 Jan 1995 18:25:59 GMT
  4. From: goer@quads.uchicago.edu (Richard L. Goerwitz)
  5. Message-Id: <1995Jan17.182559.19519@midway.uchicago.edu>
  6. Organization: University of Chicago
  7. Sender: icon-group-request@cs.arizona.edu
  8. References: <1995Jan13.022725.13714@netlabs.com>, <1995Jan14.064053.21850@midway.uchicago.edu>, <1995Jan17.074644.849@netlabs.com>
  9. Reply-To: goer@midway.uchicago.edu
  10. Subject: Re: HTML Management Project - best lang tcl/perl/rexx?
  11. Errors-To: icon-group-errors@cs.arizona.edu
  12.  
  13. In <1995Jan17.074644.849@netlabs.com> lwall@netlabs.com (Larry Wall) writes:
  14. >
  15. >I can't speak for Icon, though my impression is that Icon development
  16. >is relatively moribund, due primarily to the reluctance of its author
  17. >to develop Icon further or to interface it with the real world.
  18.  
  19. Icon is just one of those great ideas in language design.  All of those
  20. scalar vs. array contexts in Perl are simply and effectively replaced in
  21. Icon by the notion of a generator.  Unlike Perl, where conditionals look
  22. for zero or '', Icon uses succeed/fail.  The problem with using 0 or ''
  23. is that often 0 is meaningful (e.g., where array indexes are involved).
  24. So you have to know, in each case, whether to check for zero or something
  25. else.  Succeed/fail semantics coupled with the notion of a generator make
  26. certain operations very, very simple and elegant (e.g., tell me if any
  27. element inside this structure is an integer greater than 255, and if so,
  28. please assign it the value of 255 - oh, and do it globally, for all elem-
  29. ents in that structure):
  30.  
  31.     every !a >:= 255
  32.  
  33. Even the Icon grammar itself is great.  You can summarize nearly every-
  34. thing you need to know about precedences and evaluation orders in less
  35. than a page.  And Icon isn't a small language.  In the Camel book, you
  36. have to hunt around.  And in the back you have to weed through a syn-
  37. tax summary.  As far as string processing goes, Icon has all of the
  38. advantages of Snobol, and none of its deficits.  Its scanning facilities
  39. are much more powerful than regexps, and more flexible to boot (though
  40. they are less compact).
  41.  
  42. Of course, I'd be the first to admit that Perl is a better system ad-
  43. ministration tool than Icon, and that it interfaces with the outside 
  44. better.  And Perl is certainly more familiar to all of those people do-
  45. ing shell programming, sed, awk, etc.  And the fact that Perl implements
  46. all the POSIX locale stuff (along with discussion of wide and multi-
  47. byte characters) makes it the logical choice for future CGI scripts
  48. (when HTML 3.0, Unicode, and <LANG> tags are finally all meshed).  Still
  49. the very fact that Perl 5 shows so much consolidation demonstrates that
  50. even in the supposedly diffuse world of Perl, clean design carries with
  51. it a certain weight.
  52.  
  53. So I'm not trying to criticize Perl.  Perl is here to stay.  And it is
  54. destined for much greater popularity than Icon.  I'd just like to note
  55. that there's something to be said for Icon.  It has an important niche.
  56. And there are a lot of ideas there that are worth noting.
  57.  
  58. -- 
  59.  
  60.    Richard L. Goerwitz     ***      goer@midway.uchicago.edu